#ifndef token_h
#define token_h

#include "seg.h"

struct token {
  seg_list_t segs;
  int last_white;
};

int token_push(struct token *token, seg_t s);

seg_t token_pop(struct token *token);
seg_t token_pop_front(struct token *token);

seg_t token_front(struct token *token);
seg_t token_back(struct token *token);

int token_size(struct token *token);

void token_init(struct token *token);

int token_print(struct token *token, const char *buf);

int tokenize(struct token *token, const char *buf, int size);

#endif

